package com.lyl.common.core;

import com.lyl.common.config.DefaultGlobalExceptionHandler;
import com.lyl.common.config.DefaultGlobalResponseHandler;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author Mr.Luo
 * @date 2022-09-15 16:00
 * @desc 自动配置类
 */
@Configuration(proxyBeanMethods = false)
public class CommonServiceAutoConfiguration {


    /**
     * 全局异常处理
     *
     * @return DefaultGlobalExceptionHandler
     */
    @Bean
    @ConditionalOnMissingBean(name = {"globalExceptionHandler"})
    public DefaultGlobalExceptionHandler globalExceptionHandler() {
        return new DefaultGlobalExceptionHandler();
    }

    /**
     * 全局响应处理
     *
     * @return DefaultGlobalResponseHandler
     */
    @Bean
    @ConditionalOnMissingBean(name = {"globalResponseHandler"})
    public DefaultGlobalResponseHandler globalResponseHandler() {
        return new DefaultGlobalResponseHandler();
    }

}
